Java Crossing
오지석
개발
기간
: 2021.10.27 ~ 10.31
개발
환경
: Mac
Index :
Project OverView
주요기능
과일
채집
&
과일
판매
https://github.com/o
ooooosky/JavaCrossing.git
GitHub
매일
바뀌는
과일
판매가격
잠자기
(
나무
성장
및
과일
재생성
)
Java
Crossing :
모여봐요
자바의숲
프로젝트는
모여봐요
동물의숲에서
얻은
아이디어입니다
.
if
문과
for, List
등
비교적
쉬운
코드들로
괜찮은
결과물을
얻을
수
있는지
확인해보고
싶었고
,
Java
에
입문하려는
다른
사람들이
제
프로젝트를
보고
흥미를
가질
수
있으면
좋겠다는
생각
하에
이
프로젝트를
시작하게
되었습니다
.
모여봐요
자바의숲
시작
화면
JavaCrossing
의
중심이
되는
Main
Class
의
코드입니다
.
while
문을
통해
코드를
반복하게
했습니다
.
또한
try
catch
를
이용해
입력과정에서
생길
수
있는
각종
오류들을
사연에
방지하게끔
해서
게임을
이용하면서
실수로
인한
다시시작해야하는
사고를
막을
수
있었습니다
.
JavaCrossingMain
JavaCrossingInterface
JavaCrossingInterface
입니다
.
이
Interface
를
통해
추후에
Java
CrossingService
에
새로운
코드를
쓰던가
,
유지보수가
필요할
때
쉽게
관리할
수
있게끔
Interface
를
통해
JavaCrossingService
에
접근할
수
있게끔
했습니다
.
코드
첫
실행
화면입니다
캐릭터
생성을
하면
사용자가
지정한
이름이
캐릭터를
담당하는
리스트에
저장
및
초반
정보가
저장이
됩니다
.
만약
캐릭터
생성을
건너뛰고
다른
작업을
먼저
한다면
캐릭터를
먼저
만들어
달라는
문장을
출력하게끔
코드를
작성했습니다
.
예시로
‘
오하늘
'
이라는
이름으로
캐릭터를
만들었습니다
.
캐릭터
생성
캐릭터
생성
캐릭터
생성
메서드입니다
.
캐릭터
생성과
동시에
갚을
빚
생성
,
과일나무
한그루
생성
,
과일값
랜덤
생성이
된
모습을
볼
수
있습니다
.
이를
전부
리스트에
담아
차후에
관리하기
편하게
했고
,
가장
중요도가
높은
characterList
를
리턴으로
내보내
Main
에서
저장하고
관리하게끔
했습니다
.
캐릭터를
하나만
생성할
수
있게
if els
e
로
조건을
줬습니다
.
정보
확인
정보
확인
실행
장면입니다
.
캐릭터
,
나무
,
과일가격에
대한
정보를
볼
수
있는
코드로
여러
정보를
한곳에서
볼
수
있습니다
.
정보
확인
정보
확인
메서드입니다
.
정보를
확인하는
용으로만
쓰기
때문에
void
로
선언했습니다
.
각
리스트에
담은
내용들의
toString
값을
출력하게끔
해
한눈에
모든
정보를
볼
수
있게끔
했습니다
.
또한
if else
로
조건을
줘
캐릭생성
이전에
정보확인을
통한
접근을
막아
오류발생
가능성을
줄였습니다
.
과일
채집
과일
채집
화면입니다
.
보시다시피
과일이
열려있는지
여부는
보기
쉽게
텍스트로
만든
그림으로
보이게끔
만들었습니다
.
과일나무를
최대한
소지할
수
있는
갯수인
3
개까지
볼
수
있게
만들었습니다
.
조그만
콘솔
사진은
과일이
없을
때
과일나무
채집
화면입니다
.
과일
채집
과일
채집
메서드입니다
.
같은
JavaCrossingService
내
treeP
rint
라는
메서드에
fruitList
를
보내
,
나무가
몇그루
있는지와
과일이
있는지
없는지
판별해
그에
맞는
그림을
출력해줄려고
treePrint
를
호출했고
,
없는
과일나무를
선택하거나
없는
과일을
채집하는것을
방지하기
위해
if
else
로
조건을
줘
사전에
오류
발생
가능성이
생기는것을
줄였습니다
.
과일
판매
과일을
판매하고
찍은
화면입니다
.
현재
과일
시세와
과일을
팔고
얼마를
받았는지
,
현재
잔고가
얼마인지
알
수
있게
했습니다
.
과일
판매
과일판매
메서드입니다
.
과일
시세와
과일
갯수를
먼저
출력해줘
정보를
보기
쉽게
했고
,
if else
를
통해
조건을
줘
알맞은
값만
받게끔
했습니다
.
또한
과일
판매
후
얼마나
벌었고
,
현재
잔고를
표시하게
해
일일히
정보확인을
하지
않아도
되게끔
했습니다
.
빚
갚기
빚
갚기
화면입니다
.
현재
잔고와
얼마를
갚았는지
,
갚은
후
잔고와
남은
빚을
보기
편하게
만들었습니다
.
빚
갚기
빚
갚기
메서드입니다
.
현재
얼마를
갖고있는지
,
보여줘
정보확인을
따로
할
필요
없이
만들었고
, if
else
로
0
원보다
더
많이
갖고있을때만
갚을
수
있게
했습니다
.
또한
갚고나서
현재
잔고가
얼마인지
,
남은
빚은
얼마인지
알
수
있게
했고
빚을
다
갚으면
엔딩출력
및
엔딩을
본
사람의
정보를
txt
파일로
저장하게
했습니다
.
잠자기
잠
자기
화면입니다
.
잠자는중
출력과
함께
날짜가
1
증가하게
만들었고
,
이에
맞춰
과일가격이
랜덤으로
바뀐것을
확인할
수
있습니다
.
또한
나무에서
채집한
과일이
자란것을
볼
수
있습니다
.
*
중간에
한번
재실행을
해서
나무
나이가
처음꺼와
차이가
있습니다
.
빚
갚기
잠
자기
메서드입니다
.
잠을
자면
characterList,
fruitList,
price
List
의
날짜가
1
씩
증가하며
,
fruitList
에
과일이
열리는것은
if
else
를
통해
3
일
이상된
나무부터
3
일마다
과일이
열리게
했습니다
.
또한
priceList
의
과일
값을
새로
랜덤값으로
바뀌게
하는
코드를
써
과일판매을
판매할
때
판매가를
생각하게
해
재미를
더할
수
있었습니다
.
나무
심기
나무
심기
화면입니다
.
과일을
1
개이상
소지
,
과일나무가
3
그루
미만
있을
때만
심을
수
있습니다
.
과일나무는
심고나서
일정
시간
후
3
일간격으로
과일이
자라게
했습니다
.
과일나무를
심어서
과일나무가
2
개가
된
모습입니다
.
나무
심기
나무
심기
메서드입니다
.
처음에
if els
e
문으로
나무가
3
그루
이하인지
비교를
해
3
그루
초과로
심을
수
없게
하였고
,
나무를
심으면
처음에
false
값으로
인해
일정
시간만큼
과일이
없는걸로
했습니다
.
또한
몇그루를
심었는지
볼
수
있게
했고
,
나무를
심지
못할
때
무슨
이유로
심을
수
없는지
확인할
수
있게끔
코드를
작성했습니다
.
엔딩
엔딩화면입니다
.
빚을
다
갚으면
게임을
얼마나
플레이
했는지부터
,
플레이어가
한
행동들이
나오게
했습니다
.
그리고
역대
명예의
마을
주민으로
파일에
기록을
하게
했습니다
.
엔딩
엔딩용
메서드입니다
.
빚을
다
갚아
엔딩을
보는
사람을
위해
얼마나
마을에
머물렀는지
,
과일을
몇개를
채집했는지
등을
알
수
있게끔
코드를
작성했습니다
.
명예의
전당
엔딩을
본
사람들을
모아놓은
곳입니다
.
텍스트
파일로
어떤
사람이
마을에
와서
엔딩을
보고
갔는지
볼
수
있게
했습니다
.
먼저
제
코드를
테스트한
혜린님의
정보가
있는것을
볼수
있습니다
.
명예의
전당
엔딩을
본
사람의
정보를
txt
로
저장하게
해주는
메서드입니다
.
이
메서드는
JavaCrossingServ
ice
와는
다른
메서드에서
작성이
되었습니다
.
우선
지정한
경로에
txt
파일을
생성하는
객체를
만들었고
,
파일을
불러와
기존의
정보에
추가로
입력하는
코드를
썼습니다
.
이는
빚갚기를
모두
완료한
사람에게만
적용되게끔
빚갚기
메서드안에
if else
문
안에서
호출해서
사용하게끔
했습니다
.
Java Crossing
-End-